The present invention relates to computer program development, and more specifically, to implementing changes in a computer program.
Many types of computer programs, for example software applications, undergo development both before and after initial versions of the computer programs are released. Development which continues after initial versions are released may encompass both implementing new features and making changes to fix unexpected flaws that sometimes are not identified until late in the computer program development process or after the computer program is released. Changes to fix the flaws typically are incorporated into later versions of the computer program. Such changes sometimes also are applied to existing versions, for example using software updates that are made available to customers who use the computer program.
A system includes a processor programmed to initiate executable operations. The executable operations include identifying a fix defining at least one unique change to at least a portion of a computer program. The executable operations also include applying the fix, including the plurality of unique changes, to the computer program to generate a test version of the computer program and, as each of the plurality of unique changes is applied, identifying, in real time, program code units in the computer program changed by the unique changes and generating corresponding data entries in a first data structure. The executable operations further include determining a number of test cases available to test the program code units in the computer program changed by the unique changes by accessing the data entries in the first data structure and matching each of the program code units to corresponding data entries contained in a second data structure. The executable operations also include responsive to determining the number of test cases available to test the program code units in the computer program changed by the unique changes, automatically generating a test readiness index indicating a readiness of the fix to be tested, the test readiness index based on the number of unique changes to the computer program defined by the fix and the number of test cases available to test the unique changes to the computer program defined by the fix. The executable operations also include outputting the test readiness index.
A computer program includes a computer readable storage medium having program code stored thereon. The program code is executable by a processor to perform a method. The method includes identifying, by the processor, a fix defining at least one unique change to at least a portion of a computer program. The method also includes applying, by the processor, the fix, including the plurality of unique changes, to the computer program to generate a test version of the computer program and, as each of the plurality of unique changes is applied, identifying, in real time by the processor, program code units in the computer program changed by the unique changes and generating corresponding data entries in a first data structure. The method further includes determining, by the processor, a number of test cases available to test the program code units in the computer program changed by the unique changes by accessing the data entries in the first data structure and matching, by the processor, each of the program code units to corresponding data entries contained in a second data structure. The method also includes responsive to determining the number of test cases available to test the program code units in the computer program changed by the unique changes, automatically generating, by the processor, a test readiness index indicating a readiness of the fix to be tested, the test readiness index based on the number of unique changes to the computer program defined by the fix and the number of test cases available to test the unique changes to the computer program defined by the fix. The method also includes outputting, by the processor, the test readiness index.